home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 20
/
Aminet 20 (1997)(GTI - Schatztruhe)[!][Aug 1997].iso
/
Aminet
/
comm
/
misc
/
MakeZCMail.lha
/
MakeZCMail.dok
< prev
next >
Wrap
Text File
|
1997-05-08
|
17KB
|
502 lines
==============================================================================
Programm: MakeZCMail
Version : V2.0 BETA 3
Datum : 08.05.97
Funktion: Erstellt aus Ascii-Files oder Binär-Files 100% ZConnect-konforme
Puffer zum Posten an EMail Adressen oder Bretter
==============================================================================
Aufruf
======
Hard-Disk:Progger/sc/eigene/MakeZCMail> MakeZCMail ?
ABS=ABSENDER/K,EMP=EMPFAENGER/K,DO=DOMAIN/K,PU=PUFFER/K,QU=QUELLDATEI/K,
BET=BETREFF/K,RN=REALNAME/K,ZU=ZUSAMMENFASSUNG/K,DI=DISKUIN/K,AA=ANTWORTAN/K,
O=ORG/K,TEL=TELEFON/K,PO=POST/K,BIN=BINAER/S,EB=EMPFANGSB/S,PR=PRIO/N,
P=POINT/K,KOM=KOMMENTAR/K,NR=NOROT/S,I=ISO/S,KON=KONFIG/K: ?
Usage: MakeZCMail
ABS = ABSENDER = <Absender> | EMP = EMPFAENGER = <Empfaenger>
DO = DOMAIN = <Domain> | PU = PUFFER = <Puffername>
QU = QUELLDATEI = <Quelldatei> | BET = BETREFF = <Betreff>
RN = REALNAME = <Realname> | ZU = ZUSAMMENFASSUNG = <Zusammenfassung>
DI = DISKUIN = <Diskussion-In> | AA = ANTWORTAN = <Antwort-An>
O = ORG = <Organisation> | TEL = TELEFON = <Telefonnr>
PO = POST = <Postanschrift> | BIN = BINAER = <Binaer>
EB = EMPFANGSB = <Empfangsbest.> | PR = PRIO = <Prioritaet>
P = POINT = <Pointname> | KOM = KOMMENTAR = <Kommentar>
NR = NOROT = <Leerer ROT:> | I = ISO = <Setzt CHARSET: ISO1>
KON = KONFIG = <Konfigdatei>
Absender = Absender der Mail, z.B. SYSOP
Empfaenger = Empfaenger der Mail, z.B. /!RECENT
Domain = Boxname UND Domain der Mailbox, z.B. dame.de
Puffer = Names des Puffer, also der Zieldatei
Quelldatei = Name des File das umgewandelt werden soll
Betreff = Betreff der Mail
Realname = Der Realname des Absenders
Zusammenfassung = Kurzkommentar der Nachricht
DiskuIn = Diskussion-In setzen
AnwortAn = Antwort-An setzen
Org = Organisation z.B. CoSysop der Notre Dame
Telefon = Telefonnummer(n)
Post = Postanschrift
Kommentar = File, das als Kommentar benutzt werden soll
Bin = Angeben, wenn Mail eine Binaernachricht ist
Eb = Angeben, wenn Empfangsbestaetigung erwuenscht
Prio = Prioritaet. Erlaubt sind 10 (Direkt) oder 20 (Eil)
Point = Pointname, wird mit in die MID geschrieben
NoRot = Bewirkt, dass ein leerer ROT: geschrieben wird
Iso = Schreibt die Headerzeile CHARSET: ISO1
Konfig = Pfad und Name der Konfigdatei
:
------------------------------------------------------------------------------
ABSENDER: (Optional)
Hier wird der Absender eingegeben (NUR der Username!!!!!!).
Beispiel: "system"
Es ist dringend zu beachten, dass hier "ABSENDER" angegeben werden muss,
da dieses Keyword optional ist.
EMPFAENGER: (Optional)
Der Empfänger der Nachricht. Es kann sich um eine Brettnachricht
oder eine Mail an einen anderen Teilnehmer handeln.
Beispiel: "tms@dame.de" oder "/de/test"
Es ist dringend zu beachten, dass hier "EMPFAENGER" angegeben werden muss,
da dieses Keyword optional ist.
DOMAIN: (Optionale)
Die Domain und der Systemname des postenden Systems. Ist wichtig für
den Routestring und der Erstellung der MessageID !
Beispiel: "netzname.do.main"
Es ist dringend zu beachten, dass hier "DOMAIN" angegeben werden muss,
da dieses Keyword optional ist.
PUFFER: (Optional)
Name des Puffer, also der Zieldatei, die der ZConnect-Puffer sein soll.
Hierbei ist zu beachten, das MakeZCMail als Filekommentar gleichzeitig
den eingegebenen String von "ABSENDER" einfügt. Prometheus-Systeme profi-
tieren sehr davon, da der Sorter automatisch weiß, von wem der Puffer
angeblich stammt.
Beispiel: "PROMETHEUS:Netz/Sortin/MakeZCMail-puffer.prv"
Es ist dringend zu beachten, dass hier "PUFFER" angegeben werden muss,
da dieses Keyword optional ist.
QUELLDATEI: (Optional)
Das File, das verschickt werden soll. Es kann sich dabei um eine
Textnachricht oder um ein Binaerfile handeln. Bei Textnachrichten
ist die Terminierung der Zeilen egal (LF oder CR/LF), da MakeZCMail die
Zeilen automatisch konvertiert.
Beispiel: "Werbung:Mailboxwerbung"
Es ist dringend zu beachten, dass hier "QUELLDATEI" angegeben werden muss,
da dieses Keyword optional ist.
BETREFF: (Optional)
Der Betreff der Nachricht :)
Wird kein Betreff angeben, so wird der Name der Quelldatei als Betreff
genommen.
Es ist dringend zu beachten, dass hier "BETREFF" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: BETREFF="Testnachricht mit MakeZCMail"
DISKUIN: (Optional)
Wird dies angeben, so wird Diskussion-In: gesetzt.
Es ist dringend zu beachten, dass hier "DISKUIN" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: DISKUIN="/Z-Netz/Rechner/Amiga/Allgemein"
ANTWORTAN: (Optional)
Wird dies angeben, so wird Antwort-An: gesetzt.
Es ist dringend zu beachten, dass hier "ANTWORTAN" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: ANTWORTAN="TMS@dame.de"
ZUSAMMENFASSUNG: (Optional)
Wird dies angeben, so wird dies als Zusammenfassung geschrieben.
Es ist dringend zu beachten, dass hier "ZUSAMMENFASSUNG" angeben
werden muss, da dieses Keyword optional ist.
Beispiel: ZUSAMMENFASSUNG="Dies ist die Zusammenfassung der Mail"
KOMMENTAR: (Optional)
Wird dies angeben, so wird das uebergebene FILE als Kommentar
geschrieben. Bitte beachten, dass hier nur ein FILE als
Parameter akzeptiert wird. Moechte man einen Text uebergeben, so
ist dafuer der Header ZUSAMMENFASSUNG vorgesehen.
Weiterhin weise ich darauf hin, dass das FILE ein TEXTFILE, und
KEIN BINAERFILE sein MUSS!
Es ist dringend zu beachten, dass hier "KOMMENTAR" angeben
werden muss, da dieses Keyword optional ist.
Beispiel: KOMMENTAR="GATEWAY:Download/Cheater.readme"
ORG: (Optional)
Wird dies angeben, so wird dies als Organisation geschrieben.
Es ist dringend zu beachten, dass hier "ORG" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: ORG="CoSysop der Notre Dame BBS Hamburg"
TELEFON: (Optional)
Wird dies angeben, so wird dies als Telefonnummer geschrieben.
Es ist dringend zu beachten, dass hier "TELEFON" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: TELEFON="++49 [40] 648 932 87"
POST: (Optional)
Wird dies angeben, so wird dies als Postangschrift geschrieben.
Es ist dringend zu beachten, dass hier "POST" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: POST="Anklamer Ring 58 ; 22147 Hamburg"
REALNAME: (Optional)
Wird dies angeben, so wird an den Absender der Realname angehaengt.
Der Realname MUSS in () geschrieben werden!
Der Realname sollte keine Umlaute "üöäÜÖÄß" beinhalten.
Es ist dringend zu beachten, dass hier "REALNAME" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: REALNAME="(Mirko Thoele)"
POINT: (Optional)
Wird dies mit angegeben, so wird die MID: anders zusammengesetzt.
Sie wird in diesem Fall als "ursprung@pointname.system.domain"
geschrieben. Wird dieser Parameter NICHT angegeben, so setzt sich die
MID: aus "ursprung@system.domain" zusammen. Die Parameter die im
ersteren Falle genommen werden sind "xxx@pointname.domain" und im
zweiten Falle "xxx@domain". Ich weise nochmal darauf hin, das die
Domain, die als Parameter uebergeben wird aus "netzname.do.main"
zusammengesetzt sein muss.
Es ist dringend zu beachten, dass hier "POINT" angeben werden muss,
da dieses Keyword optional ist.
BIN: (Optional) (Switch)
Wird dieser Switch uebergeben, so wird eine Binaernachricht erzeugt.
In diesem Fall wird keine Lineendungskonvertierung ups :) vorgenommen
und ein zusaetzlicher Header FILE: erzeugt, der den Originalfilenamen
beschreibt (ohne Pfadangabe).
EB: (Optional) (Switch)
Wird dieser Switch uebergeben, so wird eine Empfangsbestaetigung
vom Empfaenger erbeten.
NOROT: (Optional) (Switch)
Wird dieser Switch uebergeben, so wird ein leerer ROT: Header
geschrieben.
ISO: (Optional) (Switch)
Wird dieser Switch uebergeben, so wird der CHARSET: ISO1
Header geschrieben.
Der Realname und der Kommentar wird in den ZC-Zeichensatz
konvertiert. Der Body wird in Ruhe gelassen.
Dieser Switch wirkt nicht, wenn der BIN-Switch gesetzt ist.
PRIO: (Optional) (Numerisch)
Moeglich sind hier 10 oder 20.
Bei einer 10 wird die Mail als Direktmail, bei einer 20 als Eilmail
verschickt. Jeder andere Wert wird ignoriert.
Es ist dringend zu beachten, dass hier "PRIO" angeben werden muss,
da dieses Keyword optional ist.
Beispiel: PRIO=10
KONFIG: (Optional)
Wird dies mit angegeben, so wird dieser Pfad+Name als
Konfiguratonsdatei genommen.
Ansonsten wird von PROGDIR:MakeZCMail.cfg ausgegangen.
Es ist dringend zu beachten, dass hier "KONFIG" angegeben werden muss,
da dieses Keyword optional ist.
Beispiele
=========
Verschicken eine Textnachricht an einen Netzteilnehmer
------------------------------------------------------
MakeZCMail "ABS=Sysop" "EMP=tms@dame.de" "DO=dame.de"
"PU=PROMETHEUS:netz/sortin/bla.prv"
"QU=S:StartUp-Sequence" BETREFF="TEST!"
Verschicken eine Textnachricht an ein Brett
-------------------------------------------
MakeZCMail "ABS=Sysop" "EMP=/de/test/" "DO=dame.de"
"PU=PROMETHEUS:netz/sortin/bla.prv"
"QU=S:StartUp-Sequence" BETREFF="TEST!"
Verschicken eine Binaernachricht an einen User
----------------------------------------------
MakeZCMail "ABS=Sysop" "EMP=tms@dame.de" "DO=dame.de"
"PU=PROMETHEUS:netz/sortin/bla.prv"
"QU=c:lha" BETREFF="Die 68000er Version!" BIN
Verschicken eine Binaernachricht an ein Brett
---------------------------------------------
MakeZCMail "ABS=Sysop" "EMP=/de/test" "DO=dame.de"
"PU=PROMETHEUS:netz/sortin/bla.prv"
"QU=c:dir" BETREFF="Binary test" BIN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MakeZCMail.cfg:
In dieser Datei kann *jeder* Header eingetragen werden, so dass man
MakeZCMail auch benutzen kann, ohne als Parameter irgendetwas zu
uebergeben.
Weiterhin kann man in dieser Datei mehrere Empfaenger, und auch mehrere
Kopieempfaenger angeben, so dass man nun auch Mail mit mehreren Empfaengern
erstellen lassen kann.
Achtung: Parameter die man MakeZCMail *uebergibt* haben eine hoehere
Prioritaet als Parameter, die in der Konfig-Datei stehen.
Steht also in der Konfig-Datei ein ARG_ABSENDER=tms und man startet
MakeZCMail mit "MakeZCMail ABS=Sysop" so, wird als Absender SYSOP und nicht
TMS genommen.
Alles weitere sollte durch die beiliegende Konfigurationsdatei erklaert
werden.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MakeZCMail ist (C) by Mirko Thöle (TMS@DAME.DE)
MakeZCMail wurde entwickelt, weil das Programm "SMail V1.0" KEINEN Routestring
erstellte, und auch immer falsche (futuristische) EDA: Angaben kreierte. Bei
vielen Mailboxen und Pointprogramm-filtern wurden diese Mails beanstandet.
Wer einen kleinen Obolus an mich entrichten moechte, weil dieses Tool ihm
vielleicht Arbeit ersparen kann, der kann dies auf folgendes Konto machen:
Mirko Thoele
Postgiro Hamburg
BLZ: 200 100 20
KTN: 641212 - 204
Ich sag dann schonmal von hier aus Danke. 8-)
Die Original "IDEE" und die Grundlage dieser Dok, liegen eindeutig bei
SMail V1.0 (c) Kai Szymanski.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Bekannte Bugs:
--------------
Datumserstellung ist nicht 100% korrekt. Ich bin mir im Moment nicht
darueber im klaren, wie ich die Offsets fuer die Zeitzonen richtig
berechnen kann/muss.
Mittlerweile bin ich mir schon im klaren, bin aber zu faul das einzubauen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Changes:
--------
1.0 - 1.1 (21.10.96)
- ANTWORT-AN: hinzugefuegt.
- TELEFON: hinzugefuegt.
- ORG: hinzugefuegt.
- AllocVec durch AllocRemember ersetzt.
1.1 - 1.2 (29.12.96)
- PRIO: hinzugefuegt.
- POST: hinzugefuegt.
1.2 - 1.3 (04.01.97)
- KOM: hinzugefuegt.
ACHTUNG! Vorher wuerde bei der Parameteruebergabe von KOM="Kommentar"
statt des KOM: Headers der ZUSAMMENFASSUNG: Header geschrieben.
Dies war falsch! ZU=<Zusammenfassung> wird jetzt stattdessen benutzt!.
- BOOL Point hinzugefuegt.
Wird dieser Switch mit angegeben, so wird die MID: als
ursprung@absender.system.domain geschrieben, und nicht wie vorher als
ursprung@system.domain.
- Es existierte ein boeser Fehler in der Dokumentation!
DOMAIN=<Domain> besteht natuerlich nicht alleine aus der Domain, sondern
aus "netzname.do.main".
- "Extended Help" erweitert. (Erreicht man durch "MakeZCMail ?", und
nochmaliges eingaben von "?")
- ACHTUNG: Wenn MakeZCMail in Scripten verwendet wird, bitte nochmal
ueberpruefen ob eure Aufrufe noch stimmen, da sich dort
etwas geaendert haben kann!!! (PU=PUFFER / P=POINT / PR=PRIO)
- Bug gefunden (und behoben), der zum Speicherverlust fuehren konnte.
1.3 - 1.4 (10.01.97)
- Bug behoben, der auftrat wenn der KOM Header nicht angegeben war.
1.4 - 1.5 (01.02.97)
- Wird kein Realname angegeben, so wird nun nicht mehr ein zusaetzlicher
Leerschritt nach dem Usernamen geschrieben.
- Statt FPrintf() beim Schreiben des Mailbodys wird nun FWrite() benutzt.
Dies haette ich von Anfang an tun sollen, aber ich rechnete einfach
nicht damit, dass jemand Mails schreibt, die 100KB und groesser sind.
Wie dem auch sei, FPrintf() kommt jedenfalls nicht mit Strings zurecht
die eine bestimmte Groesse ueberschreiten. Dies bewirkte bei grossen
Mails Fehler. (Anmerkung: Beim testen ist mir aufgefallen, dass das
Einlesen der Mail ja Arschlangsam ist.
Beizeiten wohl mal ueberarbeiten..)
- BOOL NOROT hinzugefuegt.
1.5 - 1.6 (03.02.97)
- Bugfix: Beim schreiben der Kommentare konnte es noch zu Fehlern kommen,
muesste nun gefixt sein.
- Debuginformationen im Source uebersehen %-(.
(Vielleicht sollte man sich mit dem testen doch mal ein wenig Zeit lassen)
- Verschiedene Tests, die Routine zum einlesen zu verschnellern
(Blockweises einlesen / Konvertieren der Zeilen) schlugen fehl, Habe im
Moment keine Idee wie ich diese ziemlich langsame Routine verschnellern
kann.
1.6 - 1.7 (06.02.97)
- Einlesen und Konvertieren der Mails um ein vielfaches verschnellert.
Dies kommt vor allen Dingen bei grossen Mails zum tragen.
Der entscheidene Tip kam im diesem Falle von Siliconsurfer. (Es geht
nunmal wirklich schneller, wenn man strcat() einen Pointer auf das Ende
des String uebergibt, und nicht auf den Anfang des Strings)
1.7 - 1.8 (08.03.97)
- BOOL ISO hinzugefuegt.
- POINT muss jetzt einen Pointnamen uebergeben bekommen!
Ein Hinweis: Matthias Andree wies mich auf den Misstand hin, dass
MakeZCMail die Header, und den Kommentar nicht in den ZC-Zeichnsatz
konvertiert wird (Danke nochmal dafuer). Ich habe die Konvertierung so
vorgenommen, wie ich sie verstanden habe. Ich hoffe ganz stark, dass es
so richtig ist.
1.8 - 1.9 (24.03.97)
- Bricht jetzt nicht mehr bei einer leeren Quelldatei mit der
Fehlermeldung (Error allocation memory!) ab.
1.9 - 1.10 (INTERN)
- Enforcerhit behoben (Byte-Read auf 0)
1.10 - 2.0 BETA 1 (22.04.97)
! WARNUNG: DIES IST EINE BETA VERSION.
Durch das Einrichten multipler Empfaenger, und der
Konfigurationsdatei waren *weitreichende* Umstellungen im
Source noetig!
Dadurch ist es moeglich, dass sich noch Fehler im Programm
befinden, die zu einem Absturz fuehren koennen.
Ich weise darauf hin, dass es zu diesem Zeitpunkt nicht
ratsam ist, MakeZCMail OHNE AUFSICHT zu benutzen!
Allerdings waehre es schon praktisch, wenn Du MakeZCMail 2.0
benutzt, da ich darauf angewiesen bin Bugreports zu bekommen.
Keine Bugreports -> Keine Bugfixes.
! WARNUNG: DIES IST EINE BETA VERSION.
- MakeZCMail.cfg integriert (Siehe Dokumentation!)
- Multiple Empfaenger eingebaut.
- Mulitple Kopieempfaenger eingebaut.
- Wird kein Betreff angegeben, wird nun Quelldatei OHNE Pfad als Betreff
genommen. (Vorher MIT Pfad)
BETA 1 - BETA 2 (27.04.97)
- Weitere Fehlermeldugen hinzugefuegt.
- MakeZCMail *musste* unweigerlich abstuerzen, sobald ein Kommentarfile
angegeben war.
- KONFIG hinzugefuegt. Hier kann man den Namen und Pfad des Konfigfiles angeben.
Wird dies nicht angegeben, so wird PROGDIR:MakeZCMail.cfg angenommen.
- Dokumentation ein wenig angepasst.
BETA 3
- MakeZCMail stuerzt nicht mehr ab, wenn ein Kommentar angegeben wird, der
groesser als 65KB ist. Der Kommentar wird dann abgeschnitten!